﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using WC.BL.BE;
using WC.BL.BCC;

namespace WC.UI.WebApp
{
    public partial class Main : System.Web.UI.MasterPage
    {
        private UsuarioBE _lvObjUsuarioBE;

        #region mostras mensajes

        public void muestraMensajes()
        {
            this.leeSesiones();
            this.actualizaPaneles();
            this.limpiaMensaje();
        }

        private void leeSesiones()
        {
            if (Session["Mensaje"] != null)
            {
                lblMensaje.Text = Session["Mensaje"].ToString().Replace("\\n", "<br />");
                mpeMensaje.Show();
            }
            else
            {
                lblMensaje.Text = "";
                mpeMensaje.Hide();
            }          

        }
        
        private void actualizaPaneles()
        {
            upMensaje.Update();
        }

        private void limpiaMensaje()
        {
            Session.Remove("Mensaje");
        }
        #endregion



        protected void Page_Load(object sender, EventArgs e)
        {
            checkUser(false);
            if (!Page.IsPostBack)
            {
                this._lvObjUsuarioBE = (UsuarioBE)Session["UsuarioBE"];
                if (this._lvObjUsuarioBE != null)
                {
                    lblNombreUsuario.Text = this._lvObjUsuarioBE.Usuario + " - " + this._lvObjUsuarioBE.Nombre;
                    if (this._lvObjUsuarioBE.AdminUser)
                    {
                        MenuAdmin.Visible = true;
                        MenuUser.Visible = false;
                    }
                    else
                    {
                        string str = string.Empty;
                        string script = string.Empty;
                        script = "<script type='text/javascript'>";
                                  //" window.open('PopupMensajes.aspx?np=" + _lvObjUsuarioBE.Usuario + " ','','width=600,height=450,top=50,left=250,status=no,resizable=no,scrollbars=yes','true');";

                        script += " window.open('PopupImg.aspx?np="        + _lvObjUsuarioBE.Ramo    + "','','width=800,height=600,top=50,left=250,status=no,resizable=no,scrollbars=yes','true'); ";
                        

                        script += "</script>";
                        str = string.Format(script);

                        //str = string.Format(script, imprPage, pObjPedido.NumPedido);
                        //string str = "<script type='text/javascript'>var win=window.open('PopupMensajes.aspx?np=" + _lvObjUsuarioBE.Usuario + "',null,'width=600,height=450,top=50,left=150,status=no,resizable=no,scrollbars=yes','true');</script>";
                        ////ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Mensajes para " + _lvObjUsuarioBE.Usuario, str, false);

                        //string str2 = "<script type='text/javascript'>var win=window.open('PopupImg.aspx?np=" + _lvObjUsuarioBE.Ramo + "',null,'width=600,height=450,top=50,left=150,status=no,resizable=no,scrollbars=yes','true');</script>";
                        //ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Popup para " + _lvObjUsuarioBE.Usuario, str2, false);


                        //ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "Pop ups", str, false);

                        MenuAdmin.Visible = false;
                        MenuUser.Visible = true;
                    }
                }
            }
        }

        protected void lnkLogout_Click(object o, EventArgs e)
        {
            Session.Remove("UsuarioBE");
            Response.Redirect("login.aspx");
        }

        /// <summary>
        /// Valida si el usuario ha entrado al sistema
        /// </summary>
        /// <param name="isAdmin">validar si es admin</param>
        public void checkUser(bool isAdmin)
        {
            UsuarioBE objUsuarioBE = (UsuarioBE)Session["UsuarioBE"];
            if (objUsuarioBE == null)
            {
                Session.Remove("UsuarioBE");
                Response.Redirect("login.aspx");
            }
            else if (isAdmin)
            {
                if (!objUsuarioBE.AdminUser)
                {
                    Session.Remove("UsuarioBE");
                    Response.Redirect("login.aspx");
                }
            }
        }
    }
}
